package com.example.demo.controller;

import com.example.demo.pojo.system.User;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDateTime;
import java.util.List;

@RestController
public class RequestUser {

    @PostMapping("/user1")
//  简单参数
    public String userDetail(@RequestParam String name,Integer age) {
        System.out.println(name + "," +age);
        return "200";
    }


    @RequestMapping("/user2")
//    实体(User)参数
    public String userDetail(User user) {
        System.out.println(user);
        return "200";
    }


//  数组集合参数
    // 第一种;数组类参数:   http://localhost:8080/user?hobby=java&hobb=js&hobby=css
    //请求参数名与形参中数组变量名相同,可以直接使用数组封装
    @RequestMapping("/arrayUser")
    public String arrayUser(String[] hobbies) {
        System.out.println(hobbies);
        return "200";
    }
    // 第二种;集合类参数:   http://localhost:8080/user?hobby=java&hobb=js&hobby=css
    //请求参数名与形参中集合变量名相同,通过@RequestParam绑定
    @RequestMapping("/listUser")
    public String listUser(@RequestParam List<String> hobbies) {
        System.out.println(hobbies);
        return "200";
    }


//    日期参数
    @PostMapping("/postdatetime")
    public String dateTime(@DateTimeFormat(pattern = "+") LocalDateTime update) {
        return  "200";
    }


//    JSON参数
    @PostMapping("/jsonUser")
    public User jsonUser(@RequestBody User user) {
        System.out.println("user:"+user);
        return user;
    }
}
